package jrain.fw.core.log;

import jrain.fw.core.business.BusinessRequest;

/**
 * <pre>
 * 作者：3244924214@qq.com 
 * 描述： 日志服务接口
 * </pre>
 */
public interface Logger {

	public boolean isTraceEnabled();

	public boolean isDebugEnabled();

	public boolean isInfoEnabled();

	public boolean isWarnEnabled();

	public boolean isErrorEnabled();
	// trace-----------------------------------------------------

	public void trace(String msg);

	public void trace(String format, Object... argArray);

	public void trace(BusinessRequest request, String msg);

	public void trace(BusinessRequest request, String format, Object... argArray);

	// debug-----------------------------------------------------
	public void debug(String msg);

	public void debug(String format, Object... argArray);

	public void debug(String msg, Throwable t);

	public void debug(String format, Throwable t, Object... argArray);

	public void debug(BusinessRequest request, String msg);

	public void debug(BusinessRequest request, String format, Object... argArray);

	public void debug(BusinessRequest request, String msg, Throwable t);

	public void debug(BusinessRequest request, String format, Throwable t, Object... argArray);

	// info-----------------------------------------------------
	 public void info(String msg);
	
	 public void info(String format, Object... argArray);
	
	 public void info(String msg, Throwable t);
	
	 public void info(String format, Throwable t, Object... argArray);

	public void info(BusinessRequest request, String msg);

	public void info(BusinessRequest request, String format, Object... argArray);

	public void info(BusinessRequest request, String msg, Throwable t);

	public void info(BusinessRequest request, String format, Throwable t, Object... argArray);

	// warn-----------------------------------------------------
	 public void warn(String msg);
	
	 public void warn(String format, Object... argArray);
	
	 public void warn(String msg, Throwable t);
	
	 public void warn(String format, Throwable t, Object... argArray);

	public void warn(BusinessRequest request, String msg);

	public void warn(BusinessRequest request, String format, Object... argArray);

	public void warn(BusinessRequest request, String msg, Throwable t);

	public void warn(BusinessRequest request, String format, Throwable t, Object... argArray);

	// error-----------------------------------------------------
	 public void error(String msg);
	
	 public void error(String format, Object... argArray);
	
	 public void error(String msg, Throwable t);
	
	 public void error(String format, Throwable t, Object... argArray);

	public void error(BusinessRequest request, String msg);

	public void error(BusinessRequest request, String format, Object... argArray);

	public void error(BusinessRequest request, String msg, Throwable t);

	public void error(BusinessRequest request, String format, Throwable t, Object... argArray);

}
